开发者中心
API 概览
API 详情
错误码列表
Class
Class 概览
Class 详情
Protocl
Protocol 概览
Protocol 详情
Enum
Enum 概览
Enum 详情
Class 详情
iOS 直播 ToB 1.0
更新时间:2023-10-10 11:53:05

KLogConfig

日志文件配置。

Declared in KRtcEngineObjects.h

属性

filePath
@property(nonatomic, copy) NSString* filePath

详情描述: App 必须保证你指定的目录存在而且可写。日志文件的默认地址如下:
   • iOS: App Sandbox/Library/caches/krtcsdk.log
   • macOS:
     • 开启沙盒: App Sandbox/Library/Logs/KRTCsdk.log,例如 /Users/<username>/Library/Containers/<App Bundle Identifier>/Data/Library/Logs/krtcsdk.log
     • 关闭沙盒: /Users/<username>/Library/Caches/<App Bundle Identifier>/Logs/krtcsdk.log。

fileSize
@property(nonatomic, undefined) uint32_t fileSize

详情描述:

level
@property(nonatomic, undefined) KRtcEngineLogLevel level

详情描述: 设置 KRTC SDK 的日志输出等级。 例如,如果你选择 WARN 级别,就可以看到在 FATAL、ERROR 和 WARN 级别上的所有日志信息。 输出日志等级请查看:KLogLevel。

logBlock
@property(nonatomic, copy) LogBlock logBlock

详情描述:

KRtcEngineConfig

KRtcEngine 实例的配置。

Declared in KRtcEngineObjects.h

属性

appId
@property(nonatomic, copy) NSString* appId

详情描述: 为 app 开发者签发的 AppID。

logConfig
@property(nonatomic, strong) KLogConfig* logConfig

详情描述: 设置 KRTC SDK 输出的日志文件。详见 KLogConfig。

KRtcEngineVideoEncoderConfiguration

Declared in KRtcEngineObjects.h

属性

dimensions
@property(nonatomic, assign) CGSize dimensions

详情描述: iOS 编码分辨率(宽、高)信息。

frameRate
@property(nonatomic, assign) NSInteger frameRate

详情描述: 编码帧率。

bitrate
@property(nonatomic, assign) NSInteger bitrate

详情描述: 编码初始码率,sdk 会根据网络情况以初始码率为基准自动调整视频编码码率。

minBitrate
@property(nonatomic, assign) NSInteger minBitrate

详情描述: 编码最低码率,sdk 会根据网络情况以初始码率为基准自动调整视频编码码率,但是最低不会低于这里设置的最低码率。

maxBitrate
@property(nonatomic, assign) NSInteger maxBitrate

详情描述: 编码最高码率,sdk 会根据网络情况以初始码率为基准自动调整视频编码码率,但是最高不会超过这里设置的最高码率。

keyFrameInterval
@property(nonatomic, assign) NSInteger keyFrameInterval

详情描述: 视频编码关键帧间隔 (GOP),单位:秒;默认值 4 秒。

orientationMode
@property(nonatomic, assign) KRtcEngineVideoOutputOrientationMode orientationMode

详情描述: 横竖屏模式

useHardwareEncoder
@property(nonatomic, assign) BOOL useHardwareEncoder

详情描述: 是否启用硬件编码。

mirror
@property(nonatomic, assign) BOOL mirror

详情描述: 编码时是否对视频做镜像处理。

enableDynamicResolution
@property(nonatomic, assign) BOOL enableDynamicResolution

详情描述: 是否根据网络或者硬件性能动态调整视频编码分辨率。

方法

initWithWidth
(instancetype) initWithWidth: (NSInteger) width  height: (NSInteger) height  frameRate: (NSInteger) frameRate  bitrate: (NSInteger) bitrate;

参数初始化。

参数信息
参数名 类型 描述
width NSInteger 编码宽度。
height NSInteger 编码高度。
frameRate NSInteger 编码帧率。
bitrate NSInteger 编码初始码率。

KRtcEngineVideoCanvas

Declared in KRtcEngineObjects.h

属性

renderMode
@property(nonatomic, assign) KRtcEngineVideoRenderMode renderMode

详情描述: 视频渲染模式。

uid
@property(nonatomic, copy) NSString* uid

详情描述: 用户id,直播场景如果没有用户 id 可以填 0。

channelId
@property(nonatomic, copy) NSString* channelId

详情描述: 频道 id。

sourceType
@property(nonatomic, assign) KRtcEngineVideoSourceType sourceType

详情描述: 视频源类型。

isMirror
@property(nonatomic, assign) BOOL isMirror

详情描述: 是否镜像

方法

initWithUIView
(instancetype) initWithUIView: (UIView*) view  channelId: (NSString*) channelId  uid: (NSString*) uid  renderMode: (KRtcEngineVideoRenderMode) renderMode  isMirror: (BOOL) isMirror;

初始化视频画布。

参数信息
参数名 类型 描述
view UIView* 视频显示视窗。
channelId NSString* 频道 id。
uid NSString* 用户 id,直播场景如果没有用户 id 可以填 0。
renderMode KRtcEngineVideoRenderMode 渲染模式。
isMirror BOOL 是否镜像
接口详情

返回值: KVideoCanvas

KRtcEngineBeautyOptions

基础美颜选项

Declared in KRtcEngineObjects.h

属性

lighteningLevel
@property(nonatomic, assign) float lighteningLevel

详情描述: 美白级别

smoothnessLevel
@property(nonatomic, assign) float smoothnessLevel

详情描述: 磨皮级别

KRtcEngineRawVideoFrame

编码前视频画面数据

Declared in KRtcEngineObjects.h

属性

textureId
@property(nonatomic, assign) int32_t textureId

详情描述: 纹理id

width
@property(nonatomic, assign) uint32_t width

详情描述: 视频帧宽度

height
@property(nonatomic, assign) uint32_t height

详情描述: 视频帧高度

textureBuf
@property(nonatomic, assign) CVPixelBufferRef textureBuf

详情描述: 视频帧像素数据

ExternalVideoFrame

外部输入视频帧。

Declared in KRtcEngineObjects.h

属性

format
@property(nonatomic, assign) KRtcEngineVideoFrameFormat format

详情描述: 视频帧数据格式,目前仅支持 I420 格式的 YUV 数据。

buffer
@property(nonatomic, copy) NSData* buffer

详情描述: 视频帧数据

stride
@property(nonatomic, assign) uint32_t stride

详情描述: 视频帧 stride

height
@property(nonatomic, assign) uint32_t height

详情描述: 视频帧高度

timestamp
@property(nonatomic, assign) uint64_t timestamp

详情描述: 时间戳, 单位是毫秒

ExternalAudioFrame

外部输入音频帧。

Declared in KRtcEngineObjects.h

属性

format
@property(nonatomic, assign) KRtcEngineAudioFrameFormat format

详情描述: 音频帧数据格式,目前仅支持 S16 LE(有符号16位小端)格式。

buffer
@property(nonatomic, copy) NSData* buffer

详情描述: 音频帧数据

samples
@property(nonatomic, assign) uint32_t samples

详情描述: 音频采样率

channels
@property(nonatomic, assign) uint32_t channels

详情描述: 音频声道数

bytespersample
@property(nonatomic, assign) uint32_t bytespersample

详情描述: 每个采样点的字节数

timestamp
@property(nonatomic, assign) uint64_t timestamp

详情描述: 时间戳, 单位是毫秒

KRtcEngineAudioVolumeInfo

音量信息。

Declared in KRtcEngineObjects.h

属性

channelid
@property(nonatomic, copy) NSString* channelid

详情描述: 频道 ID。

uid
@property(nonatomic, copy) NSString* uid

详情描述: 用户 Id,"0" 表示本端用户。

volume
@property(nonatomic, assign) int volume

详情描述: 音量 [0, 100]。

KRtcEnginePushStats

直播推流数据指标。

Declared in KRtcEngineObjects.h

属性

channelId
@property(nonatomic, copy) NSString* channelId

详情描述: “频道 id。"

duration
@property(nonatomic, assign) int duration

详情描述: 推流时长

audioEncodeBitrate
@property(nonatomic, assign) int audioEncodeBitrate

详情描述: 音频编码码率

videoEncodeBitrate
@property(nonatomic, assign) int videoEncodeBitrate

详情描述: 视频编码码率

totalSentBytes
@property(nonatomic, assign) int totalSentBytes

详情描述: 总的发送字节数

totalSentBitrate
@property(nonatomic, assign) int totalSentBitrate

详情描述: 总的发送码率

videoEncodeWidth
@property(nonatomic, assign) int videoEncodeWidth

详情描述: 视频编码宽度

videoEncodeHeight
@property(nonatomic, assign) int videoEncodeHeight

详情描述: 视频编码高度

videoEncodeFrameRate
@property(nonatomic, assign) int videoEncodeFrameRate

详情描述: 视频编码帧率

usingHwVideoEncoder
@property(nonatomic, assign) BOOL usingHwVideoEncoder

详情描述: 当前视频编码是否使用了硬件编码器

cpuAppUsage
@property(nonatomic, assign) int cpuAppUsage

详情描述: 当前 App 的 CPU 使用率 (%)

cpuTotalUsage
@property(nonatomic, assign) int cpuTotalUsage

详情描述: 当前系统的 CPU 使用率 (%)

memoryAppUsage
@property(nonatomic, assign) int memoryAppUsage

详情描述: 当前 App 的内存占比 (%)

memoryTotalUsage
@property(nonatomic, assign) int memoryTotalUsage

详情描述: 当前系统的内存占比 (%)

gatewayRtt
@property(nonatomic, assign) int gatewayRtt

详情描述: 客户端到本地路由器的往返时延 (ms)

serverIp
@property(nonatomic, copy) NSString* serverIp

详情描述: 服务端 IP 地址。

blockCount
@property(nonatomic, assign) int blockCount

详情描述: 推流卡顿次数。

blockDuration
@property(nonatomic, assign) int blockDuration

详情描述: 推流卡顿时长(ms)

videoFramesDropped
@property(nonatomic, assign) int videoFramesDropped

详情描述: 网络传输层扔掉的视频帧数

videoGop
@property(nonatomic, assign) int videoGop

详情描述: 当前设置的GOP(秒)

vtxPreEncDly
@property(nonatomic, assign) int vtxPreEncDly

详情描述: 视频编码前耗时

vtxPostEncDly
@property(nonatomic, assign) int vtxPostEncDly

详情描述: 视频编码后耗时

vtxSendDly
@property(nonatomic, assign) int vtxSendDly

详情描述: 视频发送网络耗时

atxPreEncDly
@property(nonatomic, assign) int atxPreEncDly

详情描述: 音频编码前耗时

atxPostEncDly
@property(nonatomic, assign) int atxPostEncDly

详情描述: 音频编码后耗时

atxSendDly
@property(nonatomic, assign) int atxSendDly

详情描述: 音频发送网络耗时